The present invention relates generally to the field of data backup, and more particularly to optimizing data synchronization when performing a block-level disaster recovery backup.
Backing up digital data stored on individual computer devices is often conducted to preserve information important to companies and individuals. The data is often stored on a hard disk and accessed via a file system. The file system may be responsible for keeping track of the hierarchy of files on the hard disk, and where, on the hard disk, the data blocks corresponding to each file are located. Some backup applications that perform file level backups may use the file system to obtain the data that is being backed up.
A block-level backup application reads data blocks directly from the disk in the order the data blocks appear on the disk, without looking at the file system. Block-level backup applications may read data from the disk using fixed size data blocks, and the fixed size data blocks may be a different size than the file system data blocks. The block-level backup application never looks at the files, so the number of files on the hard disk, or the physically random locations of data blocks corresponding to a file on the hard disk has no effect on the performance of the block-level backup application. Additionally, block-level backup algorithms may use snapshots (a view of the data at a specific point in time) to reduce the quantity of data required to be backed up during each backup operation. The first snapshot may include a full backup, while each subsequent backup may be an incremental backup (i.e., the snapshot only includes data that has changed since the most recent snapshot was obtained).